package com.huilian.iotbox.admin.wap.service;

import com.github.pagehelper.PageInfo;
import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.dto.OrderDto;
import com.huilian.iotbox.data.po.Order;
import com.huilian.iotbox.data.vo.OrderVo;
import com.huilian.iotbox.data.vo.UserInfo;

import java.util.List;

/**
 * @author 谢洛涛
 * @date 2021/1/18 11:31
 */
public interface OrderService {

    PageInfo findOrderList(OrderDto orderDto);


    ServerResponse statisticsDayIncome(OrderDto orderDto);

    ServerResponse findOneOrderByOutTradeNo(OrderDto orderDto);

    OrderVo findOneOrderByOutTradeNo(String outTradeNo, UserInfo userInfo);


    List<OrderVo> findDenominationCountByDeviceNo(OrderDto orderDenomination);

    List<OrderVo> findDenominationCountByMerchantStoreId(OrderDto orderDenomination);

    ServerResponse findOrderListByApplet(OrderDto orderDto);

    ServerResponse findOrderStatisticsByApplet(OrderDto orderDto);

    List<OrderVo> findDenominationCountByPermission(UserInfo userInfo, Integer[] merchantStoreIdArray, String startTime, String endTime);

    List<OrderVo> findOrderListByBranch(OrderDto orderDto);

    ServerResponse checkOrderCode(OrderDto orderDto);

    List<OrderVo> findOrderListCashAndOwn(OrderDto orderDto);

    ServerResponse updateRemark(OrderDto orderDto);

    OrderVo statisticsOneMemberAllTurnoverByMemberId(UserInfo userInfo, Long memberId, Integer merchantStoreId);

    List<OrderVo> findOrderListByBranchScanCode(OrderDto orderDto);

    ServerResponse findHeadStatisticsData(OrderDto orderDto);

    ServerResponse findReturnedItems(Long orderId);

    List<OrderVo> findOrderStoreListByBranch(OrderDto orderDto);

    List<OrderVo> findOrderStoreListByBranchScanCode(OrderDto orderDto);
}
